Anti-distracted driver system

ABSTRACT

An anti-distracted driver system comprises an interrupt device and a client device detector. The system may be installed in a vehicle. The client device detector may be installed in, for example, the glove box and may detect whether a client device (e.g., smart phone) is present (also in the glove box). If a client device is detected, an identifier (ID) is extracted from the client device and compared to a set of valid client device IDs provided by an administrator. If no match is found or no client device is detected, a relay is, or remains, disengaged thereby electrically disconnecting the starter control (e.g., ignition switch) from a solenoid of the starter motor thereby preventing the vehicle&#39;s engine from being started. Thus, the engine cannot be started unless the vehicle operator places his or her phone in the glove box of the vehicle (or wherever the client device detector is otherwise located).

BACKGROUND

The proliferation of smart phones with cellular phone, text, messaging,and email services has created a “distracted driver” problem for driversof vehicles. Some states have banned the use of cell phones whiledriving, but other states have not. Without regard to the legality ofusing a cell phone while driving a vehicle, the use of the phone totext, check emails, etc. while driving remains widespread.

BRIEF DESCRIPTION OF THE DRAWINGS

For a detailed description of exemplary embodiments of the invention,reference will now be made to the accompanying drawings in which:

FIG. 1 shows an anti-distracted driver system including an interruptdevice and a client device detector in accordance with at least someexamples;

FIG. 2 shows a block diagram of a server system which permitsadministrators to access and manage their accounts and configureindividual anti-distracted driver systems in accordance with at leastsome examples;

FIG. 3 shows a method by which an administrator can configure theanti-distracted driver system of given vehicle in accordance withvarious examples;

FIG. 4 shows a method by which the anti-distracted driver system canprevent a vehicle's engine from being started in accordance with variousexamples;

FIG. 5 shows another method by which the anti-distracted driver systemcan prevent a vehicle's engine from being started in accordance withanother example;

FIG. 6 shows a block diagram of the client device detector in accordancewith another embodiment from that illustrated in FIG. 1; and

FIG. 7 shows a block diagram of a computing system in accordance withvarious embodiments.

DETAILED DESCRIPTION

The following discussion is directed to various embodiments of theinvention. Although one or more of these embodiments may be preferred,the embodiments disclosed should not be interpreted, or otherwise used,as limiting the scope of the disclosure, including the claims. Inaddition, one skilled in the art will understand that the followingdescription has broad application, and the discussion of any embodimentis meant only to be exemplary of that embodiment, and not intended tointimate that the scope of the disclosure, including the claims, islimited to that embodiment.

Certain terms are used throughout the following description and claimsto refer to particular system components. As one skilled in the art willappreciate, computer companies may refer to a component by differentnames. This document does not intend to distinguish between componentsthat differ in name but not function. In the following discussion and inthe claims, the terms “including” and “comprising” are used in anopen-ended fashion, and thus should be interpreted to mean “including,but not limited to . . . ” Also, the term “couple” or “couples” isintended to mean either an indirect, direct, optical or wirelesselectrical connection. Thus, if a first device couples to a seconddevice, that connection may be through a direct connection or through anindirect connection via other devices and connections.

The various disclosed embodiments are directed to an anti-distracteddriver system that avoids or at least reduces the potential for a driverof a vehicle to be distracted by the use of a smart phone while driving.The embodiments described herein target the distraction that smartphones may cause, but in general target the distraction that any type ofclient device may cause. A client device is a device that a driver of avehicle might be tempted to use while driving a vehicle. Examples ofclient devices include smart phones, tablet devices, etc. Client devicesmay provide such services as any one or more of phone calls, messagingservices such as texting, emails, internet browsers, applications(apps), etc.

In accordance with various embodiments, the system includes a clientdevice detector and an interrupt device. The client device detectordetects whether a client device is in close proximity to the detector.In some implementations, the client device detector may be located inthe glove box of the vehicle. The client device detector may include acradle into which the vehicle driver inserts his or her client device,or an electrical cable to which the client device is attached, or ashort distance wireless interface. The interrupt device may include arelay connected between the starter control (e.g., ignition switch) andthe starter solenoid of the vehicle's starter motor. The relay may beengaged to permit current to flow from the starter control to thestarter solenoid of the starter motor to allow the vehicle's engine tobe started, or to be disengaged to preclude current from flowing to thestarter motor's solenoid to preclude the engine from starting. Engagingthe relay refers to asserting an electrical signal to the relay to causea pair of electrical contacts to connect together thereby enabling acurrent path through the relay. Disengaging the relay refers toasserting a different electrical signal to cause the contacts to openthereby breaking the current path through the relay.

Each client device includes a unique identifier such as a serial number,or International Mobile Equipment Identity (IMEI), Integrated CircuitCard Identifier (ICCI), Mobile Equipment Identifier (MEID) for cellular,or an internet protocol (IP) address, media access control (MAC)address, Wi-Fi address, Bluetooth address for non-cellular which isassociated with the device serial number. Through a computer, smartphone or other type of internet-connected device, an administrator canlog in to an account and provide the unique identifier of one or moreclient devices to a server. The unique identifiers provided by theaccount administrator are associated with client devices that theadministrator has authorized to be used to start a particular vehicle(also identified by the administrator). The anti-distracted driversystem includes a cellular transceiver and the server downloads theunique identifiers to the anti-distracted driver system installed in thevehicle thereby programming the system as to which client devices mustbe detected and authenticated to enable the vehicle's engine to bestarted.

In some embodiments, the relay of the interrupt device is disengaged bydefault thereby preventing the vehicle form being started even ifsomeone attempts to activate the ignition (e.g., turn the key in theignition switch, push a start button, etc.). The client device detectorof the anti-distracted driver system detects whether a client device ispresent. If no client device is detected, the interrupt device willdisengage the relay (or for a relay that is already disengaged, notengage the relay) thereby preventing the vehicle from being started. Ifthe client device detector detects the presence of a client device, theclient device detector may read the unique identifier from the clientdevice. The client device detector or the interrupt device then comparesthe client device's identifier to the valid identifiers previouslydownloaded to the anti-distracted driver system. If a client device isdetected but the unique identifier of the client device does not matchthe previously downloaded valid identifiers, the interrupt device willdisengage the relay (or for a relay that is already disengaged, notengage the relay) thereby preventing the vehicle from being started.

In short, in some embodiments, the only way the vehicle can be startedis for a client device (presumably owned by the driver) to be detectedby the client device detector and for the detected client device to beauthenticated. Because the device detection and authentication can onlyoccur if the client device is coupled to the client device detectorwhich may be in the glove box, the only way to start the vehicle is forthe client device to be placed in the glove box. As the client device isin the glove box, the driver cannot readily use the client device andthus cannot be distracted by the client device. In some embodiments, theinterrupt device prevents an electric vehicle from having its motoroperate to move the vehicle.

FIG. 1 illustrates a vehicle 90 in accordance with one embodiment. Thevehicle 90 may be a passenger vehicle (e.g., sedan, sports utilityvehicle, etc.), a commercial shipping truck, or any other type ofvehicle. An anti-distracted driver system 80 comprising an interruptdevice 100 and a client device detector 150 is installed in vehicle 90and coupled together via communication link 140 (which may be wired orwireless). The vehicle also includes a starter control 120, a solenoid122 (also termed a “coil”), a starter motor 124, an engine 126 (e.g., aninternal combustion engine), and a battery 128. To start the engine 126,the engine 126 may be cranked initially after the starter motor 124 isengaged. The starter control 120 provides a control signal to solenoid122 which in turn electrically couples the starter motor 124 to thepositive terminal of the battery 128.

In the example of FIG. 1, the interrupt device 100 includes a processor102, a storage device 104, a cellular transceiver 106, a data interface108, a global positioning system (GPS) receiver 110, an electricalsignal driver 112, and a relay 114. The processor 102 couples to thestorage device 104, the cellular transceiver 106, the data interface108, the GPS receiver 110, and the electrical signal driver 112 by wayof one or more busses. The electrical driver 112 can assert a signal tocontrol the state of the relay 114 to either an engaged (i.e., open)state or a disengaged (i.e., closed) state. The relay 114 is connectedbetween the starter control 120 and the solenoid 122. When engaged, therelay 114 can conduct current from the starter control 120 to thesolenoid 122 to thereby activate the starter motor 124 to start engine126. When disengaged, however, current cannot flow from the startercontrol 120 to the solenoid 122 and thus the engine 126 cannot bestarted despite an operator of the car activating the starter control120 (e.g., turning a key in the ignition, pushing a start button, etc.).

The storage device 104 of the interrupt device is a non-transitorystorage device such as volatile memory (e.g., random access memory(RAM)), non-volatile storage (e.g., solid state storage, magneticstorage, battery-backed RAM, etc.) or combinations thereof. The storagedevice 104 includes software 103 which comprises instructions which canbe executed by processor 102 to provide the functionality describedherein as attributed to the processor.

As such, the interrupt device 100 is able to prevent or permit thevehicle's engine to be started through control of the interrupt device'srelay 114. The relay 114 may be part of the interrupt device 100 or maybe a separate component electrically connected to the interrupt device100. The interrupt device 100 may be installed at any location withinthe vehicle such as within or under the dashboard, in the enginecompartment, or elsewhere in the vehicle.

In some embodiments, the interrupt device 100 may be used to prevent anelectric vehicle from having its electric motor used to move thevehicle. In some implementations, the interrupt device may be disposedbetween the battery and the electric motor to thereby prevent currentfrom reaching the electric motor.

FIG. 1 also shows a network 92 to which a server system 94 and anadministrator device 96 can be coupled. The administrator device 96 maybe any type of internet-connected device such as a computer or smartphone, and a user of the administrator device 96 may access one or moreservices on the server 94 through a web interface, a dedicatedapplication (app) or other type of user interface.

The client device detector 150 may be located in the glove box 148 ofthe vehicle 90, or in any other location which is difficult to access bythe operator while driving the vehicle (e.g., trunk area, back passengerarea, etc.). The client device detector 150 in the example of FIG. 1includes a data interface 152 and a detect circuit 154.

In operation, the interrupt device 100 prevents the engine 126 frombeing started unless a valid client device 160 is coupled to the clientdevice detector 150. The client device 160 may be connected to theclient device detector through a wired or wireless interface. In theexample of FIG. 1, a wired interface is shown which connects a connector162 on the client device 160 to a corresponding connector 156 of theclient device detector 150. The wired interface may be implemented as acradle into which the client device 160 can be inserted or an electricalcable to which the client device is connected. In embodiments in whichthe wired interface is implemented as a cradle, the cradle may rest inor be affixed to the inside of the vehicle's glove box. In embodimentsin which the wired interface is an electrical cable, the electricalcable is provided in the glove box and is not long enough to extend outof the glove box. In embodiments in which a wireless interface isprovided to couple the client device 160 to the client device detector150, the wireless interface may be of short enough range (e.g., a fewinches) that the client device 160 must be placed inside the glove box148 to be detected wirelessly by the client device detector. An exampleof a suitable wireless interface includes Bluetooth Low Energy (BLE).

An administrator of an account is able to restrict who can start thevehicle 90. For example, the administrator may be a parent and may wantto restrict operation of a particular family vehicle to one or moredrivers in the family. The anti-distracted driver system 80 not onlyensures that only an authorized driver is attempting to start the engine126 and operate the vehicle, but does so by requiring that apredetermined client device 160 associated with each such authorizeddriver is detected by the client device detector 150, which means it hasbeen placed in the glove box 148, and confirmed as being authenticate.

The account administrator uses the administrator device 96 to access theaccount. The management of the account is maintained by server system94. Referring to FIGS. 1 and 2, the server system 94 implements anadministrator interface 200, a vehicle interface 202, an administratordatabase 204, a log 210, and an alert generator 212. In someembodiments, the administrator interface 200 may be a web service whichgenerates and transmits web pages across network 92 to a browserexecuting on the administrator device 96. In other embodiments in whichthe administrator device includes an application executing thereon, theadministrator interface 200 may implemented as a server application thatinteracts with application running on the administrator device 96.

Through the administrator interface 200, a user of the administratordevice 96 is able to log in to an account associated with a particularvehicle. A username and password (or other form of credential) may berequired to verify the account access. The account itself may beassociated with the vehicle 90 in some embodiments, or a vehicleidentifier (e.g., the vehicle identification number (VIN), license platenumber, etc.) may be provided via the administrator device 96.

Once the administrator has accessed the proper account, theadministrator is able to add one or more vehicle client deviceidentifiers (IDs) to the database 204 in association with the vehicle90. A client device ID is a value that uniquely identifies a givenclient device 160. Examples of suitable client device IDs include serialnumber, the 10 digit phone number, International Mobile EquipmentIdentity (IMEI), Integrated Circuit Card Identifier (ICCID), MobileEquipment Identifier (MEID), etc. Some or all of these values areaccessible through a settings option on a smart phone. The detectcircuit 150 also is able to access the client device to retrieve thevarious client device's IDs. The database 204 stores an entry 205 foreach vehicle 90 that includes an anti-distracted driver system 80. Eachsuch entry 205 includes an identity of the administrator (username,password, name, etc.), the vehicle ID (VIN, license plate number, etc.)and the client device ID(s) that the administrator desires to beassociated with that particular vehicle. More than one client device IDcan be associated with the vehicle 90 as desired by the administrator.

The server system's vehicle interface 202 may transmit configurationdata to the storage device 104 of the interrupt device 100 as well asreceive operational data from the interrupt device via the cellulartransceiver 100 for storage in log 210 and generation of an alert byalert generator 212. Such operational data may include an indicationthat any one or more of the following events has occurred:

-   -   The vehicle's engine was started with a valid client device 160        having been detected by the client device detector 154;    -   After the engine was turned with a valid client device having        been detected and while the vehicle's engine remains on, the        client device was removed;    -   An attempt was made to start the engine without a valid client        device 160 being detected (either no client device was detector        or a client device was detected but it was not one having a        client ID that matches one the administrator provided);    -   The override control 170 (described below) was activated; and    -   Location data from the interrupt device's GPS receiver.        In some embodiments, the ignition state of the vehicle is        determined to decide, in part, when to send the alert. For        example, if a valid client device was detected by the client        device detector 154 and then removed without the person ever        starting the engine, then no alert should be generated.

Through the vehicle interface 202 the server system 94 can transmit theclient device ID (which may include more than one client device ID)specified by the administrator as being a valid client device ID for thespecified vehicle to the cellular transceiver 106 of the interruptdevice 100. The transmitted client device ID is received by theprocessor 102 from the cellular interface 106 and stored in storagedevice 104 as IDs 105.

FIG. 3 illustrates a method of programming the anti-distracted driversystem 80 by an administrator. The operations may be performed in theorder shown or in a different order. Further, two or more of theoperations may be performed concurrently rather than sequentially. Thoseoperations performed by the administrator may be implemented by theadministrator using an administrator device 96.

At 220, the method includes the administrator logging into his or heraccount. At 224, the administrator may select a particular vehicle tomanage. In some embodiments, the administrator may be able to manage theanti-distracted driver systems 80 of multiple vehicles and thus selects(e.g., from a drop-down menu or other type of list) the vehicle ofinterest. At 226, the method may include the administrator providing aclient device ID for the selected vehicle. In some cases, theadministrator may provide more than one client device ID for a givenvehicle. The administrator may type in the client device ID into a userinterface on the administrator device 96 in some embodiments. In otherembodiments, the client device itself that administrator wants to add tothe database 204 can be coupled to the administrator device 96 (e.g., bya USB cable) and the administrator device 96 may directly extract one ormore client device IDs from the client device and transmit the clientIDs over network 92 to the administrator interface 200 of the serversystem 94. In yet another embodiment, a client device that has not beenpre-authorized by the administrator to operate the vehicle neverthelessmay be detected by the client device detector 150 (e.g., installed in acradle). As the ID of that client device will not be found in thedatabase 204, the vehicle's engine will be prevented from starting.Instead, however, a message may be sent to the server system 94 that aninvalid client device has been detected. The server system 94 mayrespond by sending a message to the administrator device 96 that aclient device has been detected that has not yet been authorized by theadministrator. The message to the administrator device may include aname or phone number associated with the client device. Theadministrator then can elect to authorize, or not, the newly detectedclient device. If the administrator authorizes the client device, the IDfrom the client device can then be added to the database and thevehicle's engine will be permitted to be started.

The administrator database 204 is updated with the newly provided clientdevice ID from the administrator device. The update may include adding anew entry 205 to the database 204 to specify the administrator, vehicleID and the client device ID. In other cases, the entry 205 may alreadyexist and the administrator simply wants to add a new client ID for avehicle previously entered into the account by the administrator.

At 230, the method includes transmitting the client ID(s) to theselected vehicle. This transmission may be a cellular transmission tothe cellular transceiver 106 of the interrupt device 100. Thetransmission may include all of the client device IDs (if more than oneis present) from the entry 205 corresponding to the vehicle and suchclient device IDs may be used to overwrite any and all client device IDs105 previously stored in storage device 104. In other cases in which theadministrator has added a client device ID to the account, thetransmission may include the new client device ID and not the previouslytransmitted client IDs which are presently stored in storage device 104.Finally, the transmitted client device ID is stored in storage device104 in the interrupt device 100 in vehicle 90.

Referring again to FIG. 1, the relay 114 in some embodiments isdisengaged by default. This means that the starter motor 124 cannot beactivated and the engine 126 cannot be started. To start the engine, aclient device 160 is coupled to the client device detector 150 (e.g., byinserting the client device into a cradle, connecting a cable to theclient device's connector 162, or positioning the client device closeenough to the detect circuit 154 (in the event of a wireless interface).The detect circuit 154 detects the presence of the client device 160. Insome examples, the detect circuit 154 includes voltage comparator thatexamines the voltage level on one or more of the signal pins ofconnector 156. The corresponding signal pins of the client device'sconnector 162 may be a particular logic state or voltage level and thusthe voltage comparator may detect a change in the voltage level of thesignal pin upon insertion of the client device into the cradle or matingto a cable.

In some embodiments, the detect circuit 154 transmits a signal throughthe data interface 152 to the data interface 108 of the interrupt device100, and thus through the data interface 108 to processor 102. Theprocessor may transmit a signal back to the client device 160 throughthe client device detector 150 to provide one or more of the clientdevice's IDs. The client device 160 provides its client IDs through thedetector circuit 154 and data interface 152 to the data interface 108 ofthe interrupt device 100. The processor 102 then receives the clientdevice IDs and compares them to the ID(s) 105 previously transmitted tothe interrupt device 100 from the server system 94 and stored in storagedevice 104.

In the embodiments in which the relay 114 is disengaged by default, ifno match is determined by the processor 102 between the client deviceIDs provided by the client device 160 and the valid client device ID(s)in storage 105, then no further action is needed to prevent thevehicle's engine 126 from being started. If, however, a match betweenthe client device IDs provided by the client device 160 and the validclient device ID(s) in storage 105 is determined to exist by theprocessor 102, then the processor asserts a signal to the driver 112 tothereby engage the relay 114. Engagement of the relay electricallyconnects the starter control 120 to the solenoid 122 of the startermotor 124. As a result of activating the starter control 120, theoperator of the vehicle 90 can cause the engine 126 to start.

FIG. 4 illustrates a method as explained above in which the interruptdevice's relay 114 is disengaged by default thereby preventing theengine from being started unless affirmatively engaged by the interruptdevice, which may only occur if a valid client device 160 is detected bythe anti-distracted driver system 80. The operations may be performed inthe order shown or in a different order. Further, two or more of theoperations may be performed concurrently rather than sequentially. At250, the client device detector determines whether a client device 160is present as coupled (wirelessly or wired) to the detect circuit 154.Once the client device detector 150 detects the presence of a clientdevice 160, the client device ID is read (252) from the newly detectedclient device. In some embodiments, one client device ID is read fromthe client device, while in other embodiments, multiple client deviceIDs (if more than one client device ID exists) are read from the clientdevice ID. In some embodiments, the processor 102 of the interruptdevice 100 may send a command through data interfaces 108 and 148 to theclient device 160 to return its client device ID to processor 102. Theclient device 150 forwards the command to the client device 160 andreturns the reply back to the interrupt device.

The client device ID(s) from the detected client device is (are)compared at 254 to the one or more IDs 105 stored in storage device 104.This comparison may be performed by processor 102. If only client deviceID is obtained from the client device 160, then that one client deviceID is compared to the IDs 105 previously stored in storage device 104 todetermine if the client device ID obtained from the client device is thesame as any of the IDs in storage 104. If multiple client device IDs areread from the client device 160 (e.g., serial number, IMEI, ICCID, MEID,etc.) then each such client device ID may be compared to the set of IDs105 stored in storage device 104 to determine if any of them match.

If a match is found (indicative of the client device 160 detected by theclient device detector 150 being a client device that has beenpre-designated as valid by the administrator for starting the vehicle),then at 256, the method includes engaging the relay 114 in the interruptdevice 100. This operation may be performed by the processor 102asserting a signal to driver 112 to cause the relay's contacts to closethereby permitting a signal to flow from the starter control 120 to thesolenoid 122 of the starter motor 124. The engine can then be started at258 by, for example, a person activating the starter control 120 (e.g.,turning a key in the ignition switch, pushing a start button, etc.).

At 260, the relay 114 in the interrupt device 100 disengages therebyresetting for the next time someone attempts to start the engine 126.The processor asserts a signal to the driver 112 to thereby cause thecontacts of the relay 114 to open to prevent a signal from the startercontrol 120 from reaching the solenoid 122. In some embodiments, theprocessor 102 may cause the relay 114 to be disengaged a predeterminedtime period after causing the relay to be engaged in the first place at256. The predetermined time period may be any suitable time period atleast long enough to allow the operator of the vehicle to shut the glovebox 148 and turn on the engine. The predetermined time period may be 30seconds, 1 minute, 5 minutes, etc.

In other embodiments, the relay 114 remains engaged as long as theengine 126 is on, and then is automatically disengaged upon the engineturning off. In some examples, the relay 114 may be disengaged uponexpiration of a predetermined period of time after the engine is turnedoff (e.g., 30 seconds, 1 minute, 5 minutes, etc.) as a safety precautionin case the engine turns off while the vehicle is in an unsafe locationsuch as on a railroad track.

If the processor 102 determines that the client device is not valid at254, the engine will not be able to be turned on because the interruptdevice's relay 114 is disengaged by default. At 262, the processor 102enters a log event in log 107 in storage device 104. The logged eventindicates that a client device 160 was detected by the client devicedetector 150, but the client device did not match any of the previouslystored IDs authorized as valid by the administrator. The processor 102also may cause an alert to be generated at 264 and transmitted to theserver system 94 and/or administrator device 96 through the network 92.The alert generated by processor 102 may include an email, text message,audio recording, etc.

Referring briefly to FIG. 2, the vehicle interface 22 of the serversystem 94 may receive the alert from the anti-distracted driver system80 and store the alert, or information indicative of the alert in log210. Further, the alert generator 212 may generate and transmit an alertto, for example, the administrator. Thus, either or both of theinterrupt device 100 and the sever system 94 may generate and transmitan alert to the administrator.

FIG. 5 illustrates an example of a method in which the interruptdevice's relay 114 is engaged by default. The operations may beperformed in the order shown or in a different order. Further, two ormore of the operations may be performed concurrently rather thansequentially. At 270, a process to start the engine 126 has beeninitiated. This operation may involve a person turning the key in theignition or pushing a start button, but the engine has not yet started.During the period of time that it would take to turn on the engine, therest of the operations of FIG. 5 may be performed. Operational flow thenpasses to operation 272 is then performed as a result of detecting theengine start process.

At 272, the client device detector 150 determines whether a clientdevice 160 is present as coupled (wirelessly or wired) to the detectcircuit 154. Once the client device detector 150 detects the presence ofa client device 160, the client device ID is read (274) from the newlydetected client device. As noted above, one client device ID is readfrom the client device, while in other embodiments, multiple clientdevice IDs (if more than one client device ID exists) are read from theclient device ID.

The client device ID(s) from the detected client device is (are)compared by processor 102 at 254 to the one or more IDs 105 stored instorage device 104. If only client device ID is obtained from the clientdevice 160, then that one client device ID is compared to the IDs 105previously stored in storage device 104 to determine if the clientdevice ID obtained from the client device is the same as any of the IDsin storage 104. If multiple client device IDs are read from the clientdevice 160, then each such client device ID may be compared to the setof IDs 105 stored in storage device 104 to determine if any of themmatch.

If a match is found at 276 (indicative of the client device 160 detectedby the client device detector 150 being a client device that has beenpre-designated as valid by the administrator for starting the vehicle),then at 256, the method includes completing at 278 the process ofstarting the engine. This operation may include current flowing to thesolenoid 122 to thereby engage the starter motor which in turn causesthe engine 126 to turn.

If, however, the client device is determined not be valid at 276, thenat 280 the method includes disengaging the relay 114. The processor 102may assert a signal to the driver 112 to thereby cause the contacts ofrelay 114 to open effectively disconnecting the starter control 120 fromthe solenoid 122. This operation occurs after the person begins to turnthe key or otherwise activate the starter control 120 but before theengine 126 would otherwise have turned on during a normal start.

At 282, an event is entered in log 107 that someone attempted to startthe vehicle without the presence of a valid client device 160 and analert may be generated at 284. The alert may be provided directly to theadministrator and/or to the administrator through the server system 94using, for example, the server system's alert generator 212. The eventalso may be stored in log 210 in the server system.

If someone attempts to start the engine in the embodiment in which therelay is engaged by default, but no client device at all is detected bythe client device detector 150, then from 272 control flows tooperations 280-284 in which the interrupt device's relay is disengaged(preventing the engine from being turned on), the event is logged and analert is generated.

In some embodiments, the client device 150 detects that a client device160 is present but the interrupt device 100 is responsible for readingthe ID from the client and determining whether the client device isvalid. In other embodiments, the client device detector is configured todetect the presence of the client device and determine whether it isvalid. FIG. 6, for example, shows an embodiment of a client devicedetector 300 which includes a processor 302, a storage device 304, thedata interface 152, and the detect circuit 154. The construction of andfunctions performed by the data interface 152 and the detect circuit 154are the same or similar as that described above. The processor 302 isconfigured to execute software 306 stored in the storage device 304. Thestorage device 304 is, or includes, non-transitory storage such asvolatile memory (e.g., RAM), non-volatile storage (e.g., solid statestorage, magnetic storage, battery-backed RAM, etc.) or combinationsthereof. The software 306 in the storage device 304 comprisesinstructions which can be executed by processor 302 to provide thefunctionality described herein as attributed to this embodiment of theclient device detector.

The IDs submitted by the administrator through the administratorinterface 200 to the server system 94 can be downloaded wirelessly tothe cellular interface 106 of the interrupt device 100, and thentransmitted through the data interfaces 108 and 152 to the processor 302for storage as IDs 308 in the storage device 304. In this embodiment,the client device detector 300 can detect the presence of a clientdevice as described previously, and then perform the client deviceauthentication as explained above as being performed by the processor102 of the interrupt device 100. That is, reading the client device IDsfrom the client device 160 and comparison to the IDs 308 previouslyprovided by the administrator can be performed by the client devicedetector 300. In this embodiment, the client device detector 300provides, for example, a go/no-go signal to the interrupt device 100 toindicate whether or not a valid client device has been detected. A “go”signal indicates that a client device has been detected and that theclient device has an ID that matches one of the IDs provided by theadministrator. A “no-go” signal indicates that either no client devicehas been detected, or that a client device has been detected but its IDdid not match any of the IDs provided by the administrator. The go/no-gosignal may be a single bit (e.g., 0 is no-go and 1 is go), separatesignals, or multi-bit message.

The storage device 304 also may include a log 310 in to which any of thelog events described herein can be stored by processor 302. For example,the processor may store information in log 310 indicative of attempts tostart the vehicle engine without a client device containing the validclient ID being detected by the detect circuit 154 and authenticated bythe processor 302. By way of another example, the processor 302 maystore information in the log 310 indicative of an event by which,post-engine starting, the client device detector no longer detects aclient device. The contents of log 310 can be provided to the interruptdevice 100 and transmitted through the cellular interface 106 to theserver system 94, and thus to the administrator device 96.

The interrupt device 100 in this embodiment may not have the IDs 105stored in storage device 104, but still causes the relay to engage ordisengage based on the go/no-go signal from the client device detector300.

Referring again to FIG. 1, the override control 170 may comprise a usercontrol which permits a person to override the anti-distracted driversystem 80 rom preventing the engine from being started. That is, up onsuccessful activation of the override control 170, the engine can bestarted without regard to whether a client device 160 is detected by theclient device detector 150, 300 or whether the client device ID from adetected client device matches a valid client device ID stored in thestorage device of the client device detector or the interrupt device.Overriding the prohibition by the anti-distracted driver system 80 frompermitting the engine to start may be useful in a variety of situationssuch as to have the vehicle parked by a valet driver, to have thevehicle maintained at a service facility, loaning the vehicle to anotherperson, etc.

In some implementations, the override control 170 includes a keypadwhich may be mounted on the inside or outside of the vehicle. Forexample, the override control 170 may be placed near the client devicedetector 150, 300. To successfully activate the override control 170, aperson must enter a valid override code into the keypad. In otherembodiments, the override control 170 may comprise a key lock, abiometric sensor (e.g., fingerprint, retinal scan, etc.) or any othertype of user control. The override control 170 may be coupled toprocessor 102 of the interrupt device 100 as shown in the example ofFIG. 1 or to processor 302 of the client device detector 300 as shown inthe example of FIG. 6.

Once the override control 170 is successfully activated, the processor102 may temporarily engage relay 114 to permit the engine to be startedat will. The relay 114 may be engaged for a predetermined period of timesuch as 1 hour, 2 hours, a day, etc. In other embodiments, the relay 114may be engaged until the override control 170 is again successfullyactivated. A visual indicator may be provided on or near the overridecontrol 170 to provide a visual feedback that the override state hasbeen activated.

FIG. 7 shows a schematic diagram for a computing system 500 suitable forimplementation of the server system 94 in accordance with variousembodiments. The system includes one or more computing devices 502. Thecomputing system 500 includes the computing devices 502 and secondarystorage 516 communicatively coupled together via a network 518. One ormore of the computing devices 502 and associated secondary storage 516may be used to provide the functionality of the administrator interface200, the vehicle interface 202, the administrator database 204, the log210 and the alert generator 212.

Each computing device 502 includes one or more processors 504 coupled tomemory 506, network interface 512, and I/O devices 514. In someembodiments, a computing device 502 may implement the functionality ofmore than one component of the system 100. In various embodiments, acomputing device 502 may be a uniprocessor system including oneprocessor 504, or a multiprocessor system including several processors504 (e.g., two, four, eight, or another suitable number). Processors 504may be any suitable processor capable of executing instructions. Forexample, in various embodiments, processors 504 may be general-purposeor embedded microprocessors implementing any of a variety of instructionset architectures (“ISAs”), such as the x86, PowerPC, SPARC, or MIPSISAs, or any other suitable ISA. In multiprocessor systems, each ofprocessors 504 may, but not necessarily, commonly implement the sameISA. Similarly, in a distributed computing system such as one thatcollectively implements the administrator interface 200, the vehicleinterface 202, the administrator database 204, the log 210 and the alertgenerator 212, each of the computing devices 502 may implement the sameISA, or individual computing nodes and/or replica groups of nodes mayimplement different ISAs.

The storage 506 may include a non-transitory, computer-readable storagedevice configured to store program instructions 508 and/or data 510accessible by processor(s) 504. The storage 506 may be implemented usingany suitable volatile memory (e.g., random access memory), non-volatilestorage (magnetic storage such as a hard disk drive, optical storage,solid storage, etc.). Program instructions 508 and data 510 implementingthe functionality disclosed herein are stored within storage 506. Forexample, instructions 508 may include instructions that when executed byprocessor(s) 504 implement the administrator interface 200, the vehicleinterface 202, the administrator database 204, the log 210 and the alertgenerator 212.

Secondary storage 516 may include additional volatile or non-volatilestorage and storage devices for storing information such as programinstructions and/or data as described herein for implementing thevarious aspects of the service provider's network described herein. Thesecondary storage 516 may include various types of computer-readablemedia accessible by the computing devices 502 via the network 518. Acomputer-readable medium may include storage media or memory media suchas semiconductor storage, magnetic or optical media, e.g., disk orCD/DVD-ROM, or other storage technologies. Program instructions and datastored on the secondary storage 516 may be transmitted to a computingdevice 502 for execution by a processor 504 by transmission media orsignals via the network 518, which may be a wired or wireless network ora combination thereof. Each of the administrator interface 200, thevehicle interface 202, the administrator database 204, the log 210 andthe alert generator 212 described herein may be implemented as aseparate computing device 502 executing software to provide thecomputing node with the functionality described herein. In someembodiments, the administrator interface 200, the vehicle interface 202,the administrator database 204, the log 210 and the alert generator 212may be implemented by the same computing node.

The network interface 512 may be configured to allow data to beexchanged between computing devices 502 and/or other devices coupled tothe network 518 (such as other computer systems, communication devices,input/output devices, or external storage devices). The networkinterface 512 may support communication via wired or wireless datanetworks, such as any suitable type of Ethernet network, for example;via telecommunications/telephony networks such as analog voice networksor digital fiber communications networks; via storage area networks suchas Fibre Channel SANS, or via any other suitable type of network and/orprotocol.

Input/output devices 514 may include one or more display terminals,keyboards, keypads, touchpads, mice, scanning devices, voice or opticalrecognition devices, or any other devices suitable for entering orretrieving data by one or more computing devices 502. Multipleinput/output devices 514 may be present in a computing device 502 or maybe distributed on various computing devices 502 of the system 500. Insome embodiments, similar input/output devices may be separate fromcomputing device 502 and may interact with one or more computing devices502 of the system 500 through a wired or wireless connection, such asover network interface 512.

Those skilled in the art will appreciate that computing system 500 ismerely illustrative and is not intended to limit the scope ofembodiments. In particular, the computing system 500 may include anycombination of hardware or software that can perform the functionsdisclosed herein, including computers, network devices, Internetappliances, PDAs, wireless phones, pagers, etc. Computing device 502 mayalso be connected to other devices that are not illustrated, in someembodiments. In addition, the functionality provided by the illustratedcomponents may in some embodiments be combined in fewer components ordistributed in additional components. Similarly, in some embodiments thefunctionality of some of the illustrated components may not be providedand/or other additional functionality may be available.

References to “based on” should be interpreted as “based at least on.”For example, if a determination of a value or condition is “based on” avalue of Y, then the determination is based at least on the value of Y;the determination may be based on other values as well.

Those skilled in the art will also appreciate that in some embodimentsthe functionality disclosed herein may be provided in alternative ways,such as being split among more software modules or routines orconsolidated into fewer modules or routines. Similarly, in someembodiments illustrated methods may provide more or less functionalitythan is described, such as when other illustrated methods instead lackor include such functionality respectively, or when the amount offunctionality that is provided is altered. In addition, while variousoperations may be illustrated as being performed in a particular manner(e.g., in serial or in parallel) and/or in a particular order, thoseskilled in the art will appreciate that in other embodiments theoperations may be performed in other orders and in other manners. Thevarious methods as depicted in the figures and described hereinrepresent illustrative embodiments of methods. The methods may beimplemented in software, in hardware, or in a combination thereof invarious embodiments. Similarly, the order of any method may be changed,and various elements may be added, reordered, combined, omitted,modified, etc., in various embodiments.

The above discussion is meant to be illustrative of the principles andvarious embodiments of the present invention. Numerous variations andmodifications will become apparent to those skilled in the art once theabove disclosure is fully appreciated. It is intended that the followingclaims be interpreted to embrace all such variations and modifications.

What is claimed is:
 1. A system, comprising: an interrupt deviceincluding a processor, a relay and a storage device, wherein the relayis connected between a starter control and a starter solenoid for astarter motor, wherein the processor is configured to control the relayto interrupt or allow current to the solenoid, and wherein the storagedevice is configured to store a valid client device identifier (ID); anda client device detector including a detect circuit configured to detectthe presence of a client device, to read a client device ID from theclient device, and to transmit the client device ID to the interruptdevice; wherein the processor of the interrupt device is configured tocompare the client device ID received from the client device detector tothe valid client device ID; wherein, when the client device ID receivedfrom the client device detector matches the valid client device ID, theprocessor of the interrupt device is configured to assert a first signalto the relay to cause the relay to change state to allow current to flowto the solenoid to thereby cause the starter motor to start an engine;and wherein, when the client device ID received from the client devicedetector does not match the valid client device ID, the interrupt deviceis configured to add an item to a log and generate an output, the itemindicative of detection of the presence of an invalid client device. 2.The system of claim 1, wherein the storage device stores a plurality ofvalid client IDs, and wherein the interrupt device is configured to:determine whether the client device ID received form the client devicedetector matches any of the plurality of valid device IDs; and assertthe first signal to the relay to cause the relay to change state toallow current to flow to the solenoid when the client device ID receivedfrom the client device matches any of the plurality of valid device IDsstored in the storage device.
 3. The system of claim 2, wherein, whenthe client device ID received from the client device detector does notmatch any of the plurality of valid client device IDs, the interruptdevice is configured to generate an alert.
 4. The system of claim 1,further comprising a wireless interface configured to couple the clientdevice detector to the interrupt device, wherein the client device IDread from the client device by the client device detector is transmittedto the interrupt device over the wireless interface.
 5. The system ofclaim 1, further comprising a wired connection between the client devicedetector and the interrupt device, wherein the client device ID readfrom the client device by the client device detector is transmitted tothe interrupt device over the wired connection.
 6. The system of claim1, wherein the client device detector includes a wireless interface overwhich the presence of the client device is detected.
 7. The system ofclaim 1, wherein the interrupt device includes a cellular transceivercoupled to the processor and configured to receive the valid clientdevice ID from a cellular network.
 8. The system of claim 1, furthercomprising storage for a log, and wherein the processor is configured toadd an entry to the log that identifies an attempt to start the enginewithout a client device containing the valid client ID being detected bythe client device detector.
 9. The system of claim 1, further comprisingstorage for the log, and wherein the processor is configured to add anentry to the log that identifies an event for which, after starting theengine, the client device detector no longer detects the presence of theclient device.
 10. The system of claim 1, wherein the system is avehicle and the client device detector is mounted in a glove box of thevehicle.
 11. The system of claim 1, further comprising an override usercontrol coupled to the processor of the interrupt device, wherein, uponvalid activation of the override user control, the processor asserts thefirst signal to the relay to cause the relay to change state to allowcurrent to flow to the solenoid without regard to whether a clientdevice is detected by the client device detector or whether the clientdevice ID matches the valid client device ID.
 12. The system of claim11, wherein the override control includes a keypad and wherein validactivation of the user control includes inputting a valid override codeinto the keypad.
 13. The system of claim 1, wherein the client device isa smart phone.
 14. A client device detector, comprising: a processor; astorage device coupled to the processor and configured to store a validclient device identifier (ID); a detect circuit coupled to the processorand configured to detect a client device and, upon detection of a clientdevice, to assert a signal to the processor indicating that a clientdevice has been detected; and a data interface coupled to the processor;wherein, upon detection of a client device, the processor is configuredto authenticate the detected client device based on the valid clientdevice ID and transmit a signal through the data interface indicative ofwhether the detected client device is authenticated; and wherein thestorage device includes a log, and wherein the processor is configuredto store information indicative of attempts to start a vehicle enginewithout a client device containing the valid client ID being detected bythe detect circuit and authenticated by the processor and to generate anoutput.
 15. The client device detector of claim 14, wherein theprocessor is configured to read a client device ID from a detectedclient device and compare the client device ID read from the clientdevice to the valid client device ID.
 16. The client device detector ofclaim 14, wherein the storage device is configured to store a pluralityof valid client device IDs, and wherein the processor is configured toauthenticate the detected client device based on whether the clientdevice ID read from the client device matches any of the plurality ofvalid client device IDs.
 17. The client device detector of claim 14,further including a wireless interface over which the client device isto be detected.
 18. The client device detector of claim 14, wherein thedata interface is a wireless interface.
 19. The client device detectorof claim 14, wherein the processor is configured to store information inthe log indicative of an event by which, post-engine starting, theclient device detector no longer detects a client device.
 20. The clientdevice detector of claim 14, further comprising an override user controlcoupled to the processor, wherein, upon valid activation of the overrideuser control, the processor transmits the signal through the datainterface without regard to whether a client device is detected by thedetector circuit or whether the processor authenticates a client device.21. A system, comprising: an interrupt device including a processor, arelay and a storage device, wherein the relay is connected between astarter control and a solenoid of a starter motor, wherein the processoris configured to control the relay to interrupt or allow current to astarter motor, and wherein the storage device is configured to store avalid client device identifier (ID); and a client device detectorincluding a detect circuit configured to detect the presence of a clientdevice, to read a client device ID from the client device, and totransmit the client device ID to the interrupt device; wherein theinterrupt device is configured to compare the client device ID receivedfrom the client device detector to the valid client device ID; andwherein, when the client device ID received from the client devicedetector does not match the valid client device ID, the interrupt deviceis configured to add an item to a log and generate an output, the itemindicative of detection of the presence of an invalid client device ID,and to assert a signal to the relay to cause the relay to interruptcurrent to the solenoid to prevent the starter motor from starting anengine.
 22. The system of claim 21, wherein, upon initiating a startengine process, the interrupt device is configured to assert the signalto the relay to cause the relay to interrupt current to the solenoidupon failing to detect the presence of a client device.
 23. The systemof claim 21, wherein, when the client device ID received from the clientdevice detector does not match the valid client device ID, the interruptdevice is configured to generate an alert.